####文章表示インクルード####
###書式：文章 Message Option

文章:
Local i
If 文章表示行 > 18 Then
	For i = 1 to 12
		ClearPicture 0 0 (i * 40) 480
		Refresh
		Wait 0.1
	Next
	文章表示行 = 0
Endif
If Args(1) = "" Then
	Incr 文章表示行
ElseIf Args(1) = "消去" Then
	If 高速描写 = 1 Then
		ClearPicture
		Refresh
	Else
		For i = 1 to 12
			ClearPicture 0 0 (i * 40) 480
			Refresh
			Wait 0.1
		Next
	Endif
	Unset 文章表示行
	Unset 済座標
Else
	If 文章表示行 = "" Then
		文章表示行 = 0
	Endif
	If 高速描写 = 1 Then
		文一括表示 Args(1) Args(2)
	Else
		文フェード表示 Args(1) Args(2)
	Endif
Endif
Return

###〜文フェード表示〜###
文フェード表示:
Local Message Sleft St1 St2 St3 x1 x2 x3 l1 l2 l3 mpos1 mpos2 mpos3 ウェイト
ウェイト = 0.1
Message = Args(1)
Op = Args(2)
If Instr(Op,"続") Then
	文章表示行 = 文章表示行 - 1
	Sleft = 済座標
Else
	Sleft = 20
Endif
l1 = 文章表示行
l2 = 文章表示行
l3 = 文章表示行
mpos1 = 1
mpos2 = 2
DefFont
St1 = Mid(Message,mpos1,1)
St2 = Mid(Message,mpos2,1)
x1 = 0
x2 = TextWidth(St1)
x3 = TextWidth(St1) + TextWidth(St2)
Font RGB(85,85,85)
PaintString (Sleft + x1) (5 + l1 * 25) $(St1)
DefFont
Wait ウェイト
Font RGB(170,170,170)
PaintString (Sleft + x1) (5 + l1 * 25) $(St1)
Font RGB(85,85,85)
PaintString (Sleft + x2) (5 + l2 * 25) $(St2)
Wait ウェイト
For mpos3 = 3 to Len(Message)
	St1 = Mid(Message,mpos1,1)
	St2 = Mid(Message,mpos2,1)
	St3 = Mid(Message,mpos3,1)
	Switch St3
		Case ";"
			Incr l3
			x3 = 0

		Case Else
			Font RGB(255,255,255)
			PaintString (Sleft + x1) (5 + l1 * 25) $(St1)
			Font RGB(170,170,170)
			PaintString (Sleft + x2) (5 + l2 * 25) $(St2)
			Font RGB(85,85,85)
			PaintString (Sleft + x3) (5 + l3 * 25) $(St3)
			DefFont
			x1 = x1 + TextWidth(St1)
			x2 = x2 + TextWidth(St2)
			x3 = x3 + TextWidth(St3)
			If x3 > 430 Then
				Incr l3
				x3 = 0
			ElseIf x2 > 430 Then
				Incr l2
				x2 = 0
			ElseIf x1 > 430 Then
				Incr l1
				x1 = 0
			Endif
			Incr mpos1
			If Mid(Message,mpos1,1) = ";" Then
				Incr l1
				x1 = 0
				Incr mpos1
			Endif
			Incr mpos2
			If Mid(Message,mpos2,1) = ";" Then
				Incr l2
				x2 = 0
				Incr mpos2
			Endif
			Wait ウェイト
	Endsw
Next
Deffont
Font RGB(255,255,255)
PaintString (Sleft + x1) (5 + l2 * 25) $(St2)
Font RGB(170,170,170)
PaintString (Sleft + x2) (5 + l3 * 25) $(St3)
Wait ウェイト
Font RGB(255,255,255)
PaintString (Sleft + x2) (5 + l3 * 25) $(St3)
Wait ウェイト
If Instr(Op,"無") = 0 Then
	DefFont
	PaintString (Sleft + x2 + TextWidth(St3)) (5 + l3 * 25) "▼"
	Refresh
Endif
Wait Click
ClearPicture (Sleft + x2 + TextWidth(St3)) (5 + l3 * 25) 480 (30 + l3 * 25)
Refresh
文章表示行 = l3 + 1
DefFont
済座標 = 20 + x2 + TextWidth(St3)
Font
Return

###〜文一括表示〜###
文一括表示:
Local Message Sleft St x mpos ウェイト
ウェイト = 0.05
Message = Args(1)
Op = Args(2)
If Instr(Op,"続") Then
	文章表示行 = 文章表示行 - 1
	Sleft = 済座標
Else
	Sleft = 20
Endif
x = 0
DefFont
Font RGB(255,255,255)
For mpos = 1 to Len(Message)
	Switch Mid(Message,mpos,1)
		Case ";"
			Incr 文章表示行
			x = 0

		Case Else
			St = Mid(Message,mpos,1)
			PaintString (Sleft + x) (5 + 文章表示行 * 25) $(St)
			x = x + TextWidth(St)
	Endsw
Next
Refresh
If Instr(Op,"無") = 0 Then
	DefFont
	PaintString (Sleft + x) (5 + 文章表示行 * 25) "▼"
	Refresh
Endif
Wait Click
ClearPicture (Sleft + x) (5 + 文章表示行 * 25) 480 (30 + 文章表示行 * 25)
Refresh
Incr 文章表示行
DefFont
済座標 = 20 + x
Font
Return

###〜デフォルトフォント〜###
DefFont:
Font
Font 12pt Ｐゴシック Bold
Font RGB(255,255,255)
Return
